const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  // ✅ 关闭 ESLint 编译时检查
  lintOnSave: false,
   //方式1
  //开启代理服务器
  // devServer: {
  //   //https://examples.http-client.intellij.net/get?generated-in=WebStorm
  //   proxy: 'https://examples.http-client.intellij.net'
  // }
  //方式二
  devServer: {
    proxy: {
      /**
       正常情况下的接口（原接口）：https://examples.http-client.intellij.net/get?generated-in=WebStorm
       '/xyl' 配置代理后的请求接口：http://localhost:8080/xyl/get?generated-in=WebStorm
       告诉代理服务器有xyl前缀的走https://examples.http-client.intellij.net  ip地址，
       所以代理服务器会自动将http://localhost:8080转换为https://examples.http-client.intellij.net/
       最后请求接口为https://examples.http-client.intellij.net/xyl/get?generated-in=WebStorm
       但是原接口没有xyl，所以这个时候请求失败。
       pathRewrite：告诉代理服务器将xyl替换为空，那么最终的请求地址为
       https://examples.http-client.intellij.net/get?generated-in=WebStorm
       这时候就可以成功请求了
       */
      '/xyl1': {
        target: 'https://examples.http-client.intellij.net',
        ws: true,//是否代理 WebSocket 请求,true=是，默认是true
          /**
           作用：默认是true，表示是否需要改变原始请求的源。
           就是将请求头host=http://localhost:8080/xyl1/get?generated-in=WebStorm
           改为host=https://examples.http-client.intellij.net/get?generated-in=WebStorm
           changeOrigin=true内部原理：
           A服务器（我的当前页面服务器）localhost:8080
           B服务器（被代理的服务器）localhost:8080
           C服务器（目标服务器examples.http-client.intellij.net：8181）
           执行路程是A->B->C，changeOrigin=true告诉目标服务器，我也是examples.http-client.intellij.net：8181
           就相等于没有跨域一样，然后c服务器就把数据给了b服务器，b服务器把数据给了a服务器
            */
        changeOrigin: true,
        pathRewrite: {
          '^/xyl1': '' // 去掉 /xyl
        }
      },
      /**
       原请求地址https://tiyu.baidu.com/api/match/playerranking/match/NBA/tabld/60
       */
      '/xyl2': {
        target: 'https://tiyu.baidu.com',
        pathRewrite: {
          '^/xyl2': '' // 去掉 /xyl
        }
      }
    }
  }
})
